import { InjectableObject } from "../inject";
import { IEventMap } from "./base/IEventMap";
import { EventMap } from "./impl/EventMap";

export class Actor extends InjectableObject {

    protected _eventMap: IEventMap = null;

    public initialize(...args: any[]): void {

    }

    public dispose(): void {

    }

    protected get eventMap(): IEventMap {
        if (!this._eventMap) {
            this._eventMap = new EventMap(this.dispatcher);
        }
        return this._eventMap;
    }

}